Data processing systems rely upon stored information for manipulating data and performing applications that the data processing systems are required to perform. The stored information can include an application program which instructs the data processing system, for example, on how to manipulate data, or the information can be the data itself. In any event, in all but the smallest applications, it is usually necessary to move the information from a storage medium to the data processing system's internal memory before processing can proceed. There exists many different forms of storage media for storing the information needed in the data processing systems.
Three typical forms of storage media include magnetic disks, optical disks and magnetic tape. A common form of magnetic disk storage media is direct access storage devices (DASD). DASD offers high storage capacity while providing relatively fast access to the information stored thereon. Optical disks are capable of storing larger amounts of information than DASD but require more time to access the stored information. Magnetic tape presently has the ability to store the largest amount of information but data access is much slower than DASD or optical disks. Magnetic tape's combination of high storage capacity, slow access speed, and low cost make it well suited for information back-up purposes
Regardless of the storage medium used, the stored information must be read therefrom and converted into a form the data processing system can recognize. In the case of DASD and optical storage media, the information is stored on rigid discs that spin at a given speed while a read head, stationed just above the storage medium, recognizes the bits of 1's and 0's that make up the stored information and converts them into electrical signals. Magnetic tape is typically stored on a reel or cartridge and the tape is forced to travel across a tape read head at a given speed while the tape read head detects the information stored on the tape as it passes by the read head. When very large amounts of information are required to be retrieved from the storage medium, the time required to access that information is an important factor. The access time is a function of the speed at which the storage medium travels past the read head. However, increasing the storage medium speed generally results in increased read errors.
A common read error problem occurs as a result of timing failures. Each bit of information read from the storage medium must occur within a specified time window. If the position of the storage medium, for a given bit, is outside the expected time window, the data processing system will receive erroneous information. Hence, it is vital that the storage medium be synchronized to a data clock. Synchronization requires that the data clock be adjusted frequently by estimating a phase error between the bits of information read from the storage medium and the data clock. The phase error estimate is used to adjust the data clock.
The timing problem is further exacerbated since the data recovered from the storage medium is an analog signal requiring further processing to discriminate between binary ones and zeros. For example, a positive and/or negative pulse (above a predetermined threshold voltage) represents a binary one, and an absence of a pulse (below the threshold voltage) represents a binary zero. Conveniently, the peak of the pulse may be used to recover the timing information. Hence, each binary one recovered from the storage medium provides the opportunity to correct phase errors. The position of the peak for continuous-time signals (the analog signal) is the zero-crossing point of the signal's derivative.
The signal's derivative is input to a comparator and compared to a ground signal (zero volts). Thus, when the derivative equals zero, the comparator so indicates. Taking the derivative, however, poses at least two problems which cause errors resulting in clock jitter. First, taking the derivative introduces additional noise which is especially pronounced at low signal levels. Second, as the signal approaches zero volts, the noise causes many zero crossings. Garrett describes a circuit in U.S. Pat. No. 3,727,079 for reducing noise introduced by differentiation. Garret recognizes that the differentiated signal results in many false zero-crossings due to noise. Described by Garrett is a differential comparator for identifying zero-crossings, and associated latching circuitry to select a single zero-crossing while subsequent zero-crossings Cloke, in U.S. Pat. No. 4,697,098, describes a detecting circuit which also reduces errors. Cloke teaches using two threshold comparators for receiving a signal (a first comparator receives the signal after a delay, a second comparator receives the signal after differentiation). The differentiated signal is also input into a zero-crossing detector. Validation logic then determines, from the two comparators and the zero-crossing detector, which qualifies as the correct zero-crossing signal. An obvious drawback of the above approaches is the increased complexity, and hence increased cost, required.
The costs and reliability of systems can be improved by implementing prior analog circuits into digital systems. The digital systems can be fabricated in LSI (large scale integration) or VLSI (very large scale integration) circuits. In the discrete-time or digital systems, the continuous-time signal is represented by successive digital samples. Each digital sample consists of a predetermined number of bits, for example 4, wherein the bits are a binary representation of the magnitude of the continuous-time signal at the instant each sample is taken. Most often, the digital samples will not occur at a peak position and so the peak position must be estimated from the digital samples taken prior to and subsequent to the peak. A common method of predicting the peak position is by determining the zero-crossing point of the difference of two successive samples. This differencing operation, however, introduces noise, and fails to correct for peak asymmetry. Also, peaks that are not sharp are difficult to locate.
Thus what is needed is a digital peak detector that is able to accurately estimate peak locations, even though a signal may be asymmetrical, or the peak is relatively flat, without introducing noise.